home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - DOS Part 7
/
DOS229B.dsk
/
LEAPFROG.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
3KB
|
47 lines
3 PRINT : HOME : ONERR GOTO 790
4 GOSUB 10000: POKE -16300,0: POKE 24576,77
5 POKE -16297,0: POKE -16302,0: POKE -16304,0:BX = 33: GOTO 1000
10 POKE -16368,0:Y = 175:FF = 0
11 CALL GT:R = PEEK(KB): IF R THEN HF = (R = 3) -(R = 2): IF R >4 THEN ON R -4 GOTO 240,250,260,19,50
16 IF HF THEN GOSUB 60
17 IF B1 = BX THEN 11
18 XDRAW 2 AT BX,Y:BX = B1: DRAW 2 AT B1,Y: GOTO 11
19 R = ASC(AR$((BX +7)/40)): RETURN
20 XX = INT( RND(1) *24) +66: RETURN
30 N = N +32 *(CA AND N >64): & PRINT L, CHR$(N) AT X,Y: RETURN
44 POKE 769,8: POKE 768,90: CALL SD: RETURN
46 FOR J1 = 120 TO 80 STEP -5: POKE 768,40: POKE 769,2: CALL SD: POKE 768,J1: POKE 769,3: CALL SD: NEXT : FOR J1 = 1 TO 150: NEXT : RETURN
50 CALL CS: POKE 753,5: PRINT D$"RUNHELP": END
60 B1 = BX:J = HF *40: IF BX +J <33 OR BX +J >233 THEN 70
63 B1 = B1 +J: IF B1 <33 OR B1 >233 THEN B1 = BX: GOTO 70
65 IF NOT N%((B1 +7)/40) THEN 63
67 IF FF THEN IF HF < >FF THEN B1 = BX
70 HF = 0:FF = 0: RETURN
90 I = 5 +12 *J: POKE TT,2: POKE TT +5,10: POKE TT +8,I: POKE TT +10,0: POKE TT +9,I -1: POKE TT +11,5: POKE TT +12,119: POKE TT +13,154: CALL AN: POKE TT,128
94 FOR I = 1 TO 6: CALL AN: IF I = 2 THEN GOSUB 46
95 NEXT : RETURN
100 Y = 141:X = -39: FOR J = 0 TO 2:X = X +84: GOSUB 90: IF J < >1 THEN N = A +J -1: GOSUB 30
105 NEXT : RETURN
240 JJ = PEEK(SD): POKE SD,32 +64 *(JJ = 32): GOTO 11
250 POP : CALL CS: PRINT D$"RUNMENU": END
260 CA = NOT CA: POP : XDRAW 2 AT BX,175: GOTO 1000
380 Y = 175:X = AA *40 -7: FOR I = 1 TO 2:N = 32: GOSUB 30:N = A: GOSUB 30: GOSUB 44: FOR J = 1 TO 75: NEXT : NEXT
400 XDRAW 2 AT BX,175:N = A:X = 129:Y = 141: GOSUB 30: FOR I = 1 TO 1000 +2000 *(TR = 6): NEXT : RETURN
600 POKE 24580,255: GOSUB 20: ON XX = AX GOTO 600:AX = XX:AR$(1) = CHR$(XX):A = XX: FOR I = 2 TO 6
610 GOSUB 20:AR$(I) = CHR$(XX): FOR J = 1 TO I -1: ON AR$(I) = AR$(J) GOTO 610: NEXT J,I
620 AA = 1: FOR I = 6 TO 2 STEP -1:J = INT( RND(1) *I) +1:A$ = AR$(I):AR$(I) = AR$(J):AR$(J) = A$:AA = AA *(J < >AA AND I < >AA) +J *(I = AA) +I *(J = AA): NEXT
625 XC = XC +1: ON XC GOSUB 690,695
630 Y = 175: FOR I = 1 TO 6:N = ASC(AR$(I)):X = 40 *I -7: POKE 769,2: POKE 768,15: CALL SD: GOSUB 30: FOR J = 1 TO 75: NEXT : POKE 769,2: POKE 768,15: CALL SD:N%(I) = 1: NEXT : POKE 24580,0: RETURN
690 A$ = AR$(4):AR$(4) = AR$(AA):AR$(AA) = A$:AA = 4: RETURN
695 A$ = AR$(2):AR$(2) = AR$(AA):AR$(AA) = A$:AA = 2: RETURN
790 POKE 672,9: POKE 673,9: POKE 674, PEEK(960): POKE 676, PEEK(47082): PRINT : PRINT D$"RUNHELLO"
1000 XD = XD +1: ON XD = 3 GOTO 11000:TR = 1: GOSUB 600: GOSUB 100: DRAW 2 AT BX,175:B1 = BX
1020 GOSUB 10: IF A = R THEN CALL 34825: GOSUB 400: GOTO 1000
1030 POKE 24580,255:TR = TR +1:N = 32:Y = 175:X = BX: GOSUB 30: POKE 24580,0:J = 1: GOSUB 90: IF TR = 6 THEN GOSUB 380: GOTO 1000
1035 N%((BX +7)/40) = 0:HF = 1:FF = 0: GOSUB 60: IF B1 = BX THEN HF = -1: GOSUB 60
1040 GOTO 1020
10000 AN = 35378:TT = 35764:UN = 24617:CS = 24595:GT = UN +15:KB = 752:SD = UN +3:D$ = CHR$(4): SCALE= 1: ROT= 0: HCOLOR= 3
10005 WF = UN +27:KS = UN +28:KC = UN +29: POKE KS,15: POKE KC,15
10019 POKE 230,32: CALL UN,150,6: ON NOT PEEK(255) GOTO 790: PRINT D$;"BLOAD B.FROG ANM": RETURN
11000 FOR I = 1 TO 3000: NEXT
11010 POKE 230,64: CALL CS: POKE -16299,0: PRINT D$"RUNMENU": END